package com.yc.cloud.admin.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yc.cloud.common.basic.dto.BasePageReqDTO;
import com.yc.cloud.entity.SysDict;

import java.util.List;

/**
 * <p>
 * 字典表 服务类
 * </p>
 *
 * @author Yancy
 * @since 2024-01-18
 */
public interface SysDictService extends IService<SysDict> {

    /***
     * description:查询列表
     * @param param 查询条件
     * @return 数据信息
     */
    IPage<SysDict> list(BasePageReqDTO param);

    SysDict convertVo(SysDict sysdict);

    SysDict create(SysDict param);

    SysDict get(Long id);

    SysDict update(Long id, SysDict sysdict);

    boolean delete(Long id);

    /**
     * 根据dict_text前缀查询配置项
     * @param prefix dict_text前缀
     * @return 配置项列表
     */
    List<SysDict> listByDictTextPrefix(String prefix);

    /**
     * 获取所有系统配置项
     * @return 系统配置项列表
     */
    List<SysDict> listSystemConfigs();

    /**
     * 根据字典类型和键获取字典值
     * @param dictType 字典类型
     * @param dictKey 字典键
     * @return 字典值，如果不存在返回null
     */
    String getDictValue(String dictType, String dictKey);
}



